package stream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
import java.util.stream.Stream;

/**
 * @author Hongliang Zhu
 * @create 2021-08-01 13:19
 */
public class Demo1 {
    public static void main(String[] args) {
        /**
         *
         * 从员工集合中筛选出salary大于8000的员工，并放置到新的集合里。
         * 统计员工的最高薪资、平均薪资、薪资之和。
         * 将员工按薪资从高到低排序，同样薪资者年龄小者在前。
         * 将员工按性别分类，将员工按性别和地区分类，将员工按薪资是否高于8000分为两部分。
         *
         */

        List<String> list = Arrays.asList("a", "b", "c");
        // 创建一个顺序流
        Stream<String> stream = list.stream();
        // 创建一个并行流
        Stream<String> parallelStream = list.parallelStream();


        int[] arr = {1,3,5,7};
        Arrays.stream(arr).forEach(System.out::println);


        Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6);

        Stream.iterate(999, x -> x + 1).limit(4).forEach(System.out::println);


        Stream<Integer> stream2 = Stream.iterate(0, (x) -> x + 3).limit(4);
        stream2.forEach(System.out::println); // 0 2 4 6 8 10

        Stream.generate(() -> 666).limit(6).forEach(System.out :: println);



    }


}
